Comments (1)
I don't think this seems like something cdxj-indexer should support, since it does one thing (generate CDXJ files) and does it pretty well. But it does seem like something you might be better off writing as a custom utility program that uses warcio directly? Getting a page title will require parsing responses that are html with something like beautifulsoup? This seems to work ok?
import bs4
import sys
from warcio.archiveiterator import ArchiveIterator
warc_file = sys.argv[1]
records = ArchiveIterator(open(warc_file, 'rb'))
for record in records:
rec_type = record.rec_type
if record.http_headers:
content_type = record.http_headers.get('content-type', '')
else:
content_type = ''
if rec_type == 'response' and 'html' in content_type:
url = record.rec_headers.get('WARC-Target-URI')
doc = bs4.BeautifulSoup(record.raw_stream)
print(f"{url}\t{doc.title.string}")
from cdxj-indexer.
Related Issues (14)
- Has this been pushed to pypi? HOT 1
- Error during indexing: No space left on device HOT 2
- AttributeError: 'NoneType' object has no attribute 'protocol'
- --post-append and memory use HOT 3
- CDX files generated are not sorted HOT 3
- SURT are not created for HTTP CONNECT requests in WARC file
- Ways of handling problematic WARC records HOT 1
- Revisit records with POST requests lack a POST append in their URL key
- 'cgi' is deprecated and slated for removal in Python 3.13 HOT 1
- DepreciationWarnings in `pyamf`
- Recompress and Re-indexing Errors
- Feature Requests / questions on use --> Pipe, Readme HOT 2
- Problem when URL is malformed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cdxj-indexer.