Scarpy爬取静态网页信息
一、案例说明
用Scarpy爬取湖北经济学院经院要闻新闻的标题、网址,http://news.hbue.edu.cn/jyyw/list.htm。
需注意:动态网页的源代码,被浏览器加工后,可能与源代码不同。
二、Scarpy操作
(1)在电脑开始菜单中,搜索cmd并打开
(2)在cmd中,切换到写scrapy文件的位置。例如我要写到我的e盘python文件夹中。所以先输入e:进入E盘,再输入cd python(cd空格+文件名),进入python文件
(3)建立scrapy工程:scrapy startproject 文件名。若文件名为myscrapy,此操作会让python文件夹中出现一个myscrapy子目录,该目录中有一堆子目录和文件,其中有spider文件。
(4)在cmd中继续进入到新文件的目录中,生成spider程序:scrapy genspider 爬虫文件名 scrapy工程名.io。也可以手动生产爬虫
(5)改写刚刚产生的爬虫文件
(6)运行。在命令行中运行直接scrapy crawl 爬虫文件名。若在pycharm中运行,需新建文件。
三、代码
import scrapy
from bs4 import BeautifulSoup
from newscrapy.items import NewscrapyItem
#从item中引用此类,可以存储为任意格式文件
class SecondSpider(scrapy.Spider):
name = 'Second'
start_urls = ['http://news.hbue.edu.cn/jyyw/list.htm']
def parse(self, response):
item = NewscrapyItem()
#必须
newslist = response.xpath('//*[@id="wp_news_w7"]/ul/li').extract()
urllist = []
titlelist = []
#用于