爬虫程序利用python中的正则怎么实现抓取静态网页源码中的id号和id内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫程序利用python中的正则怎么实现抓取静态网页源码中的id号和id内容相关的知识,希望对你有一定的参考价值。

<td class="Light">ID</td> <td> ID-2013-168 </td>

我只看见了ID号,没有看见ID内容啊,在哪里?
提取ID号的话,正则是ID-\d+-\d+追问

id号就是2013-168 我想把ID 和ID-2013-168提取出来 但是我写的正则总是不对。求指点

追答

你提取ID干嘛,这不是固定的已知字符串吗?至于id号,我给你的正则你试了吗,符合你要求吗

追问

那个提取出来了 我只想提取出这个类中的ID号如(ID ID-2014-00146 )网页其他地方还有类似于这种的ID号

追答

什么意思?你只想提取id号?你不是说已经提取出来了吗?你是说现在只能提取一个,但是你想提取全部?

追问

不想要全部 我只想提取这个类中的ID ID-2013-168
但是网页中还有相关的链接包含类似于这种ID号的

追答

ID\s*\s*(ID-\d+-\d+)
id号在第一个分组中

哦,你不是要提取id,而是要紧跟在id后面的id号,前面没有id的id号不提取,是吧?

参考技术A 包含大小写字母,下划线,阿拉伯数字,点号,中划线
表达式:
[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)
验证数字:^[0-9]*$
验证n位的数字:^\dn$
验证至少n位数字:^\dn,$
验证m-n位的数字:^\dm,n$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]2)?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]1,3)?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0) ^\d+$
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?$
英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]4,40$
长度为3-20的所有字符:^.3,20$
由26个英文字母组成的字符串:^[A-Za-z]+$
由26个大写英文字母组成的字符串:^[A-Z]+$
由26个小写英文字母组成的字符串:^[a-z]+$
由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w3,20$
中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]2,20$
可以输入含有^%&',;=?$\”等字符:[^%&',;=?$\x22]+
禁止输入含有\~的字符:[^~\x22]+
参考技术B 写一个正则表达式就可以匹配到这个id号啦,然后提取正则表达式的内容就可以了 参考技术C 建议使用BeautifulSoup

python 利用 scrapy 实现3个爬虫简单入门数据抓取

 

执行可能会遇到报错

scrapy crawl itemSpider
Scrapy 1.6.0 - no active project

Unknown command: crawl

Use "scrapy" to see available commands
PS E:\\pyproject\\scrapymingyan>

原因可能是

1.没有进入项目根目录

2. 可能是自己一个大项目命名的文件夹下有多个小项目, 执行具体的项目需要进入具体的小项目的根目录中去. 自己误以为大项目就是项目根目录了. (其实这个不是真正的项目, 只是一个文件夹而已, 各个小项目放在这个目录而已)

爬虫小项目练手:

名言抓取

运行项目:  scrapy crawl  mingyan2

重点提醒: ,我们一定要进入:mingyan2 这个目录,也就是我们创建的蜘蛛项目目录,以上命令才有效!还有  crawl  后面跟的是你类里面定义的蜘蛛名,也就是:name,并不是项目名、也不是类名,这些细节希注意!

另外注意   如果还编写了其他的爬虫在这个项目里  每个的文件都需要正确   比如另外写了一个爬虫 ,但是文件中没有声明

https://blog.csdn.net/userhr/article/details/78803100

 

美剧抓取 和 图片抓取简单例子

https://www.cnblogs.com/kongzhagen/p/6549053.html

 

以上是关于爬虫程序利用python中的正则怎么实现抓取静态网页源码中的id号和id内容的主要内容,如果未能解决你的问题,请参考以下文章

[Python爬虫] 之十九:Selenium +phantomjs 利用 pyquery抓取超级TV网数据

爬虫基础(非正则)

PYTHON笔记简单的网页爬虫:用正则表达式抓取关键信息

Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

如何利用CSS选择器抓取京东网商品信息

一个抓取知乎页面图片的简单爬虫