爬虫程序利用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网数据