Video Thumbnail 09:56
This will change Web Scraping forever.
10.1K
263
2024-05-19
➡ JOIN MY MAILING LIST https://johnwr.com ➡ COMMUNITY https://discord.gg/C4J2uckpbR ➡ PROXIES https://proxyscrape.com/?ref=jhnwr ➡ WEB SCRAPING API https://hubs.li/Q043T88w0 ➡ HOSTING https://m.do.co/c/c7c90f161ff6 If you are new, welcome. I'm John, a self taught Python developer and content creator, working at Zyte. I specialize in data extraction and automation. If you like programming and web content as much as I do, you can subscribe for weekly content. All views in this video are my o...
Subtitles

Okay, look at this. I've got a basic spider here. I didn't

change anything. This is straight from the box. I did a thousand requests,

which is what I actually asked for, so it stopped on that rather than a limit.

756 items, no errors, full logs, and it only took half an hour. I mean, that's

just mind-blowing. So, coming up this morning, I'll have a really interesting

call. It's with a guy called Ian from Zyte, and he is the chief product

officer over there, and they have a new Scrapy product that we're going to talk

about. And the one thing that makes this particularly is that it's AI backed.

Definitely when AI came out originally and sort of hit the forefront with

ChatGPT, I couldn't really see how we could use that as web scrapers and data

extractors because the problems that we had couldn't really

be solved by that sort of a tool. But, the main problem I always thought about

that was the fact that the LLMs are heavy on compute and heavy on compute

cost. So, it's going to be interesting to see how they get around that.

This video is sponsored by Zyte. They gave me access to the AI tool and asked

me for my genuine feedback as well as to share it with you guys. What I want to

know is the the motivation behind creating this this tool.

Our motivation is that we think that web scraping is too slow.

That really both the challenge of getting set up for new sites and what

What does that look like when there's multiple sites to set up for each and

every one? There's the challenge of maintenance.

And when we speak to engineering teams, they often say, "We're under pressure.

We've got to add 100 site. We are maintaining the ones that we've already

got. Adding 100 is difficult." Uh and so, our motivation is how can we

make this quicker? Pretty interesting because it's it's rather than trying to

make it easier to scrape, it's trying to get you to a base where you can start

the rest of your project quicker. So, what we've looked to do is produce a

solution which has automation where the automation does the routine

the for the most common types of website, like products. For the most

common data points in a schema, we've got about 20. For the most common

crawling strategies, like whole sites or category or search keywords, we can get

you to data immediately. But, then to give people control. That's good to know

that it's still going to be open source, or at least the spider part is, and

you'll be able to actually take that and build upon it and then

have your own sort of spider that you can put into their system, host, and

then run. Kind of makes sense, too. Do you think that part of it might

creating all that automation to to take that big chunk of work out of the start

makes this different to other generic AI, I'm going to use that term loosely,

web scraping solutions where people are like just asking

ChatGPT for an example as an example. Because this is a more controlled use

case, we've been able to develop models that are specific to this. And so, we

have a machine learning model for product type websites. We have another

for articles, for jobs. And because they're much more focused, they're more

accurate for that task, but they're also a lot cheaper. To be honest, that the

the spider itself is relatively simple. So, what it That's doing the crawling

part or or the controlling of the crawling. And so, that's then calling

Zyte API, which is solving the bans, which is allowing people to retrieve the

HTML in the format they want, whether they need it rendered or not, do they

need to do uh browser actions like scripting, um it's the machine learning

of the parsing of of turning the HTML into JSON.

Uh but, uh it's it's controlled by a relatively simple Scrapy spider.

Uh and and typically, what we find is that if people want to make a

modification, like add a filter to a crawl, it's a couple of lines of code.

But, it's also quite a nice way for people to get started because they can

start something where they can see code and they can see what it does. Yeah. Uh

and so, modifying that is very straightforward. Only scenario we find

where this isn't a great solution is the very very largest sites where the

cost of setup and maintenance is dwarfed by the volume of requests. In those

scenarios, the um it's worth it to create a spider because

running static code will be the cheapest solution. In general, um for anyone who

is looking to set up sites where they're not yet in the billions of requests per

month, it's merely up to tens of millions, we're finding it's a great

solution. All right, so I need to know, is this going to change the landscape

forever or is this going to make me redundant? So, what I'm going to do, I'm

going to take two hours, I'm going to build two spiders, and I'm going to

compare myself to the AI. Okay, so here's the results for the two

spiders. Here's mine. I got 1,634 items, and it took uh 1,250 seconds,

which is about 20 minutes. Um I got a decent amount of data points. So, on the

left-hand side here is the overview for the AI spider job. Now, this one took

about an hour. I thought this was interesting because this was much slower

than the other sites that I did in my test. We did get all of the data points

though that I was expecting to get, in fact, more than I pulled um because I

didn't want to parse all of that information. I would definitely check

with Zyte as to why this one took an hour to run. Slightly slower. We had no

issues. It It did it all there, and given the fact that mine took an hour to

write, we are definitely in the positive here. So, we should have a quick look at

the items. You can see here's all the data points and all the items of which

you can download and export in these formats if you want to. And there are

full logs and stats as well. So, the stats are going to be similar to the

ones here. As you can see, request counts, etc., etc. Everything that you

could want to see from your spider comes back to you here. And here's the results

from the other spider. I got about the same amount of items, 1547, and I think

I got 1590 or 15 66. Mine took about 37 minutes to run that, and this one was 26

minutes. And that's because the AI was deciding when to use browser rendering

and when not, whereas I was forcing browser rendering all the time, which

caused mine to be a bit slower. Plus, it took me about an hour to write as well.

So, you know, this is much much quicker. Again, let's have a quick look at the

stats over here just so you can see everything and any all the information

here that you want to know about general spider stats, the logs as well, and the

items here. Very similar to the item data that I pulled out. You can see I

have it here with the SKU. Slightly different uh format, but it's all here

available. You can see all of the information. And again, you can download

as you need here. All in all, very very positive experience with this one. Given

how easy it was to create these, all I had to do was put in the URL and

configure two or three settings and set it to run. The fact that it managed to

get all of these data points out in such a short amount of time with very very

little setup, default out of the box, is very impressive. Now, there's a lot to

be said about getting to that point so you can actually build upon it if you

need to, but in these cases, I wouldn't have to. So, the time saved would be

huge, especially considering this was just over two use cases. If I had to do

that tenfold, the amount of time I would save by using the AI spider is

astronomical. So, what are my thoughts about this, and

has it changed how I feel about AI in this space? Well, I think the tool kind

of speaks for itself. It's pretty incredible. The fact that you can go

from nothing to data with just one URL that quickly is really impressive. The

fact that it handle it handles all the bans through the Zyte API as well, it's

just an extension of that. I think it makes it a really really great package.

I've used it quite a lot now over the last week or so since I recorded the

rest of this video, and I've been very impressed. I think that it's important

to know that tools like this are supposed to be supplementary to your

work, not supposed to take over what you do. Whilst it does take out quite a lot

of the knowledge, it does mean for me, I think, that I can provide a better

service to my clients by being able to give them the data they need in much

less time. And I think I'm just going to, honestly, adapt to it and work with

it and build upon it myself, and then use it to enhance what the services that

I can deliver. How do I feel about AI in this space? Still mixed. One thing that

I think is important is that this is a much smaller model. This isn't the large

language models that we would associate with AI. This is a very different thing.

It's a much more along the machine learning type of uh style here where

it's been fed data, specific data. It's been trained on lots of different

specific sites to pull out information, and I think that is definitely the right

place to be in when we're talking about this sort of thing, AI/ML in web

scraping. Using it in conjunction with other tools to pull out the data that

you need to save yourself a load of time passing out a load of data. If you want

to try this tool for yourself, there'll be a link in the description, and

there'll be a code as well for you to use to get you sta- to get you going,

and hopefully, you enjoy it and use it and like it as much as I did. So, yeah,

once again, thanks to Zyte for this opportunity, and thank you very much for

watching. Join the Discord, like, comment, subscribe. It all makes a lot

of difference to me. Thank you very much. I'll see you in the next one.